Enviado em 12/03/2012 - 18:57h
Boa noite gente,
<?php
if ($argc != 3) {
print "USO: php tratamento_final.php <arquivo de log insercao> <relatorio dos nao inseridos> \n\n";
exit(0);
}
ini_set("auto_detect_line_endings", true);
$log = fopen($argv[1], "r") or die($argv[1]." está inacessivel.");
$relatorio = file_get_contents($argv[2]) or die($argv[2]." está inacessivel.");
if ($log && $relatorio) {
while (!feof($log)) {
$linha = fgets($log, 4096);
//busca por erro de parametro
$busca = strpos($linha, "ERROR");
if ($busca) {
$erro = str_replace("\r\n",";",trim(strstr($linha, "Erro nos parametros")));
$dslam = substr(strstr($linhaAnterior, "DSLAM: "), 7, 15);
$porta = substr(strstr($linhaAnterior, "Porta: "), 7, 11);
$relatorio = str_replace($dslam.";".$porta.";1;1;;", $dslam.";".$porta.";1;1;;".$erro, $relatorio);
file_put_contents($argv[2], $relatorio);
}
//busca por erro de TransactionException
$busca = strpos($linha, "TransactionException");
if ($busca) {
$codErro = "-4";
$erro = str_replace("\r\n",";",trim(strstr($linha, "Erro WDT:")));
$dslam = substr(strstr($linhaAnterior, "DSLAM: "), 7, 15);
$porta = substr(strstr($linhaAnterior, "Porta: "), 7, 11);
$relatorio = str_replace($dslam.";".$porta.";1;1;;", $dslam.";".$porta.";1;1;".$codErro.";".$erro, $relatorio);
file_put_contents($argv[2], $relatorio);
}
//busca por erro 301
$busca = strpos($linha, "Falha ao consultar DSLAM");
if ($busca) {
$codErro = "-4";
$erro = str_replace("\r\n",";",trim(strstr($linha, "Erro WDT:")));
$dslam = substr(strstr($linhaAnterior, "DSLAM: "), 7, 15);
$porta = substr(strstr($linhaAnterior, "Porta: "), 7, 11);
$relatorio = str_replace($dslam.";".$porta.";1;1;;", $dslam.";".$porta.";1;1;".$codErro.";".$erro, $relatorio);
file_put_contents($argv[2], $relatorio);
}
$linhaAnterior = $linha;
}
}
?>
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
erro ao atualizar para linux 41 (1)
erro ao atualizar para linux 41 (1)
Servidor said: 530 5.7.0 Must issue a STARTTLS command first (in r... (1)